From: Keir Fraser Date: Thu, 28 Aug 2008 08:59:49 +0000 (+0100) Subject: hvmloader: skip upper field of 64 bit base address register. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14113^2~15 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=1ceec08ea268db3e303b8d3eb766a6b251c72054;p=xen.git hvmloader: skip upper field of 64 bit base address register. Signed-off-by: Yuji Shimada --- diff --git a/tools/firmware/hvmloader/hvmloader.c b/tools/firmware/hvmloader/hvmloader.c index d12dc916b9..9b578d89e7 100644 --- a/tools/firmware/hvmloader/hvmloader.c +++ b/tools/firmware/hvmloader/hvmloader.c @@ -243,6 +243,13 @@ static void pci_setup(void) bars[i].bar_sz = bar_sz; nr_bars++; + + /* Skip the upper-half of the address for a 64-bit BAR. */ + if ( (bar_data & (PCI_BASE_ADDRESS_SPACE | + PCI_BASE_ADDRESS_MEM_TYPE_MASK)) == + (PCI_BASE_ADDRESS_SPACE_MEMORY | + PCI_BASE_ADDRESS_MEM_TYPE_64) ) + bar++; } /* Map the interrupt. */